Задачки по ноде

Просто немного задачек по Node.JS.

  1. Напишите функцию, которая принимает на вход массив урлов и обходит их - но так, чтобы она обходила не более пяти адресов одновременно, чтобы не создавать избыточной нагрузки на сервер.
  2. Напишите функцию, которая принимает на вход имя каталога и печатает всего его файлы и подкаталоги.
  3. Напишите свою реализацию Reduce
  4. Напишите функцию для клонирования объекта, опишите ограничения
  5. Сделайте аналог крона - чтобы некая функция вызывалась раз в 2 секунды. Описать варианты реализации и ограничения.
  6. Напишите три способа поприветствовать Джона, используя эти данные и функцию:
1
2
3
4
5
6
7
8
const person = {
firstName: 'John',
lastName: 'Doe'
}

function greet(greeting, message) {
return `${greeting} ${this.firstName}. ${message}`;
}
  1. С бекенда приходит такой массив c возрастом учеников:
1
2
3
4
5
var arr = [
{ name: 'Vasya', age: 10 },
{ name: 'Petya', age: 20 },
// ...
];

Нужно получить средний возраст. 8. Напишите функцию, которая получает содержимое веб странички и делает пять ретраев в случае, если сервер недоступен. Нужно сделать в трёх вариантах - на асик эвейте, на промисах и на коллбеках.